Graphite: Towards a Declarative Polyhedral Representation
نویسنده
چکیده
Classical polyhedral representations of imperative languages entangle untranslated scalar imperative operations to the declarative descriptions of the polyhedral model. This representation can handle high level array operations, but is more difficult to work on programs that split the array computations in smaller chunks involving scalar temporary variables. The aim of the current paper is to provide an overview of the algorithms implemented in Graphite, and to convey the intuitive ideas behind the changes needed to the classical polyhedral representations to accommodate to an SSA three address representation. These changes tend to shift the polyhedral representation to a purely declarative language.
منابع مشابه
Design of Graphite and the Polyhedral Compilation Package
Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a detailed description of the design and future directions of this infrastructure. Graphite uses the polyhedral model as the internal representation (GPOLY). The plan is to create a polyhedral compilation package (PCP) that will provide loop optimization and analysis capabilities to GCC. This package ...
متن کاملA Conservative Approach to Handle Full Functions in the Polyhedral Model
The Polyhedral Model is one of the most powerful framework for automatic optimization and parallelization of high-level programs. It is based on an algebraic representation of program parts and allows to achieve exact data dependence analysis and to apply complex sequences of optimizations seamlessly. After more than twenty years of research and development, this model is now quite mature and r...
متن کاملSynthesis and Characterization of Polyhedral Graphite Particles
Hollow polyhedral graphite particles with 200~400 nm in diameter have been synthesized by heating oxalic acid, ferrocene and metallic magnesium at 580 °C, typically forming diamond-like octahedral structure. Combined with SEM, TEM, SAED patterns, and Raman spectroscopy, it was shown that the surface of graphite polyhedrons is composed of approximately 30-40 graphene shells; the fouror sixfold s...
متن کاملAutomatic Streamization in GCC
Multi-cores and multi-processors became ubiquitous during the last few years, and the trend is to increase the number of simple, power-efficient, and slower cores per chip. One of the results is that the performance of single-threaded applications did not significantly improve, or even declined, on new processors, which heightened the interest in compiler automatic parallelization techniques. O...
متن کاملGRAPHITE: Polyhedral Analyses and Optimizations for GCC
We present a plan to add loop nest optimizations in GCC based on polyhedral representations of loop nests. We advocate a static analysis approach based on a hierarchy of interchangeable abstractions with solvers that range from the exact solvers such as OMEGA, to faster but less precise solvers based on more coarse abstractions. The intermediate representation GRAPHITE1 (GIMPLE Represented as P...
متن کامل